/***************************************************************************************************
  *Copyright(C),2010-2017,Sumscope
  *FileName	:  pinyin_search_idstore.h
  *Author	:  scofined.qi
  *Version	:  1.0
  *Date		:  2017/06/04
  *Desc		:  //用于主要说明此程序文件完成的主要功能
  *Relation :  
  *Others	:  //其他内容说明
  *Function :  //主要函数列表，每条记录应包含函数名及功能简要说明
  *History	:  //修改历史记录列表，每条修改记录应包含修改日期、修改者及修改内容简介
***************************************************************************************************/
#pragma once

#include "pinyin_search_define.h"
#include "pinyin_search_set.h"

namespace qb{
	namespace base{
		namespace internal{
			class IndexIdStore{
				IndexId*		m_first;			// 按照bid递增
				int				m_count;			// 个数
				int				m_capcity;			// 容量
			public:
				IndexIdStore() :m_capcity(16), m_count(0), m_first(NULL){}
				~IndexIdStore(){ if (m_first)delete[] m_first; m_first = NULL; }
				void init(const InverseSet& iset);
				void init(const IndexId* first, int count);
				void setcount(int ncount){ m_count = ncount; }
				int  count()const{ return m_count; }
				int	 get(int i){ return m_first[i]; }
				IndexId* first(){ return m_first; }
			protected:
				void resetcapcity(int capcity);
			};

		}
	}
}
